package DP.proxy.common;

import DP.proxy.common.subject.impl.RealSubject;
import DP.proxy.common.subject.Subject;

import java.lang.reflect.InvocationHandler;

/**
 * @author msi
 * 场景类
 */
public class Client {
    public static void main(String[] args) {
        //定义一个主题
        Subject subject=new RealSubject();
        //定义一个handler
        InvocationHandler handler=new MyInvocationHandler(subject);
        //获取主题的动态代理类。
        Subject proxy = DynamicProxy.newProxyInstance(Subject.class.getClassLoader(),subject.getClass().getInterfaces(),handler);
        //代理的行为
        proxy.doSomething("完成");
    }
}
